home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 4 #1
/
Commodore_Disk_User_Vol.4_1_1990_-.d64
/
smooth scr demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
133 lines
100 rem" [211]mooth scroller demo, ([195]) [193].[205]illett 1990
120 [143]" (NULL)aken from gomoku.
150 poke55,0:poke56,128:clr:rem" top=32768
200 [134] cnv%(64) :[143]" asc-sprite conversion
300 gosub 9000 :rem" [201]nit vars
320 [141] 32500:[143]" fill cnv%() for sprite-conversion
340 gosub 30000:rem" [211]et vdu to $8000, [204]oad chrset,sprites,m/code
360 [141] 31000:[143]" (NULL)elect upper
380 gosub 20000:rem" [193]nd do demo...
990 [128]
999 :
9000 [143]" right$nitialise variables
9010 s=54272 :rem" [211][201][196]
9040 vic [178] 53248 :[143]" (NULL)right$len chip
9050 p=32768 : col=55296 :rem" [214][196][213], color ram
9590 [142]
9999 :
20000 [143] * instructions
20005 [153]"load";
20010 [151]53280,4:[151]53281,2
20015 [141] 29000
20020 [153]"defortantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantan^"
20030 [153]"def(NULL)sys (NULL)(NULL)(NULL) (NULL)(NULL) (NULL) (NULL) (NULL)(NULL) (NULL) (NULL) (NULL) (NULL) def(NULL)"
20040 [153]"(NULL)sys (NULL) (NULL) (NULL) (NULL) (NULL)(NULL) (NULL)(NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) def(NULL)"
20050 [153]"(NULL)sys (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL)(NULL) (NULL) (NULL) def(NULL)"
20060 [153]"(NULL)sys (NULL) (NULL)(NULL)(NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL)(NULL) (NULL) (NULL) def(NULL)"
20070 [153]"(NULL)sys (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) def(NULL)"
20080 [153]"(NULL)sys (NULL)(NULL)(NULL) (NULL)(NULL) (NULL) (NULL) (NULL)(NULL) (NULL) (NULL) (NULL)(NULL) def(NULL)"
20090 [153]"/tantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantanexp"
20120 [153]"smooth scroller demo."
20140 [153]"copyright a.millett."
20299 :
20300 ky$[178]" "
20310 mptr[178]0 :[143]" (NULL)eset ptr for new message
20320 msg$=" %welcome to %&gomoku! ":gosub 32700
20330 msg$=" %&brought to you by %&commodore disk user %&":gosub 32700
20340 msg$="magazine, possibly the best mag in the history of time ":gosub32700
20350 msg$="itself. i hope you like the %&bouncy scroll, %& it ":gosub 32700
20360 msg$="makes a change from the usual smooth scroll effect. ":gosub 32700
20370 msg$="i have implemented two varietys of the game here, ":gosub 32700
20380 msg$="since it is too easy for the first player to force ":gosub 32700
20390 msg$="a win in traditional gomoku. %":gosub 32700
20395 print"hit space to continue."
20400 gosub 32100:rem" scroll a message
20450 [141] 31200:[143]" to lower case..
20500 print"[147][207]k, demo over."
20990 return
20999 :
29000 rem" fill screen with black 87
29040 [151] 39984[170]17,87:[143]" set fillchr
29060 sys 39951 :rem" fillvdu
29100 [142]
29999 :
30000 [143]" right$nitialise udg @ $8000, (NULL)oad chrset,sprites,m/code
30020 if peek(828) = 123 then 30500
30030 poke 828,123
30040 rem" [197]nsure bits 0,1 output
30060 [151] 56578,[194](56578) [176] 3
30080 [151] 56576,([194](56576) [175] 252) [176] 1:[143]" (NULL)el bank $8000
30100 poke 53272,4:rem" [214]du $8000, [195]hrset $8800
30120 [151] 648,128:[143]" (NULL)ell kernal where (NULL)du is.
30130 print"[147]";
30140 load"set.gom*",8,1
30160 return
30499 :
30500 rem" [204]oad sprite chars
30520 [139] [194](829) [178] 123 [167] 30700
30540 [151] 829,123
30560 [147]"let.$a000",8,1
30580 [144]
30699 :
30700 [143]" load smooth m/code
30720 if peek(830) = 123 then return
30740 poke 830,123
30760 load"smooth??.exe*",8,1
30780 stop
30799 :
30999 :
31000 rem" [211]witch to upper udg set
31040 [151] 53272,2:[143]" (NULL)du $8000, lenhrset $8800
31090 return
31099 :
31200 rem" [211]witch to norm lower/upper
31240 [151] 53272,6:[143]" (NULL)du $8000, lenhrset norm
31290 return
31999 :
32000 rem" [211]mooth [211]croll (msg$) til (ky$)
32040 [143]
32060 mptr[178]0
32080 [141] 32700 :[143]" peekuild message
32099 :
32100 rem" call here if already built.
32199 :
32200 fl[178]39984 :[143]" (NULL)tart of flags
32250 poke fl+15,224 :rem" vert line
32260 [151] fl[170]10,1 :[143]" (NULL)pr color
32300 sys 39939 :rem" resetsmooth
32340 [158] 39936 :[143]" dosmooth
32399 :
32400 get cky$
32420 for x=1 to len(ky$)
32440 : if cky$=mid$(ky$,x,1) then poke vic+21,0:return
32460 next x
32480 goto 32340 :rem" [201]ncorrect key, cont with smooth..
32499 :
32500 [143]" right$nitialise cnv%() for asc/sprite conversion
32520 for x=0 to 63
32530 : cnv%(x)=0
32540 next x
32560 for x=1 to 26
32570 : cnv%(x)=x+1
32580 next x
32600 cnv%(32)=1
32610 cnv%(38)=128 :rem" & wiggle
32620 cnv%(37)[178]129 :[143]" % fast
32630 cnv%(46)=28
32640 cnv%(33)=29
32660 cnv%(63)=30
32670 cnv%(39)=31
32680 cnv%(44)=32
32690 return
32699 :
32700 rem" [194]uild message (msg$)
32720 mloc[178]36864[170]mptr[171]1
32740 [129] cm[178]1 [164] [195](msg$)
32760 : ch%[178][198]([202](msg$,cm,1))
32900 : [151] mloc[170]cm,cnv%(ch% [175] 63)
32920 [130] cm
32940 [151] mloc[170]cm,0 :[143]" null term
32960 mptr=mptr+cm-1
32990 return
32999 :